package eventos.aceptar;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JOptionPane;

import controlador.ControladorEditor;

import vista.paneles.NingunElementoSeleccionadoException;
import vista.ventanas.VentanaEntidadRol;
import vista.ventanas.VentanaRelacion;

public class EventoAceptarEntidadRolEditada  extends MouseAdapter {
	
	private VentanaEntidadRol ventana;
	
	public EventoAceptarEntidadRolEditada(VentanaEntidadRol ventana)
	{
		super();
		this.ventana = ventana;
	}
	
	public void mouseClicked(MouseEvent e)
	{
		try
		{
			VentanaRelacion ventanaPadre = (VentanaRelacion) this.ventana.getOwner();
			
			ventanaPadre.actualizarFilaEntidadRol(this.ventana.getEntidadRol());
			
			ControladorEditor.getInstancia().sacarGraficableEditando();
			
			this.ventana.setVisible(false);
			this.ventana = null;
		}
		catch (NumberFormatException num)
		{
			JOptionPane.showMessageDialog(this.ventana, "Error en las especificaciones de la cardinalidad. Debe ser un número o 'n'", "Error en la cardinalidad", JOptionPane.ERROR_MESSAGE);
			ControladorEditor.getInstancia().getGraficableEditando().cargarMemento();
		} 
		catch (NingunElementoSeleccionadoException e1)
		{// no debería pasar
			JOptionPane.showMessageDialog(this.ventana, e1.getMessage(), "No se seleccionó ninguna fila", JOptionPane.ERROR_MESSAGE);
			ControladorEditor.getInstancia().getGraficableEditando().cargarMemento();
		}
	}
}
